package com.foreknow.controller;

import com.foreknow.bean.Guestbook;
import com.foreknow.service.GuestbookService;
import com.foreknow.service.impl.GuestbookServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public class ManageServlet extends HttpServlet {

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //我们只需 要在doGet中获取到请求的参数q=list，然后根据获取到的参数来决定调用哪一个方法
    String method = req.getParameter("q");
    if("delete".equals(method)) {
      delete(req,resp);
    }else if("update".equals(method)){
      update(req,resp);
    }else if("add".equals(method)){
      add(req,resp);
    }else {
      list(req,resp);
    }
  }

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    doGet(req,resp);
  }

  //查询所有信息的方法
  protected void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=utf-8");
    //调用业务层查询方法
    GuestbookService service = new GuestbookServiceImpl();
    List<Object> list = service.queryInfo();
    //将查询到的list集合保存到服务器端中
    req.setAttribute("list",list);
    //将请求转发给list.jsp(所需要的页面)
    req.getRequestDispatcher("/list.jsp").forward(req,resp);
  }

  //删除
  protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  }

  //修改
  protected void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  }

  protected void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=utf-8");
    GuestbookService service = new GuestbookServiceImpl();
    Guestbook guestbook = new Guestbook();
    guestbook.setName(req.getParameter("name"));
    guestbook.setPhone(req.getParameter("phone"));
    guestbook.setEmail( req.getParameter("email"));
    guestbook.setTitle(req.getParameter("title"));
    guestbook.setContent(req.getParameter("content"));
    guestbook.setCreatedtime("2020-07-29");
    boolean b = service.add(guestbook);
    if (b){
      List<Object> list = service.queryInfo();
      //将查询到的list集合保存到服务器端中
      req.setAttribute("list",list);
      //将请求转发给list.jsp(所需要的页面)
      req.getRequestDispatcher("/list.jsp").forward(req,resp);
    }
  }

}
